import { Request } from '@/uni_modules/hbxw-utils/js_sdk/hbxw-utils.js';
import { BASE_URL } from '@/config/http';

const request = new Request();

request.baseUrl = BASE_URL;

/**
 * 请求拦截，可以通过add方法添加多个
 * 参数为请求配置，可以对请求参数做一些特殊处理
 */
request.requestIntercept.add((requestConfig) => {
    // 如果有传就用传的，没有就去取，为了解决登录默认token
    if (!requestConfig.header.Authorization) {
        let Authorization = undefined
        try {
            Authorization = '登录token';
        } catch (err) {
            console.log(err)
        }
        // 添加Authorization到header中用于服务端登录判断
        requestConfig.header.Authorization = Authorization;
    }
    // 如果返回true则请求会中断
    // return true;
});

/**
 * 响应拦截，可以通过add方法添加多个
 * 第一个参数为请求响应体
 * 第二个参数为请求配置信息
 */
request.responIntercept.add((response, requestConfig) => {
    // 如果接状态码为401，而且当前接口是需要判断登录状态的
    if (response.statusCode == 401 && requestConfig.isLogin) {
        uni.navigateTo({
            url: '/packageUniversal/login/login?type=' + LOGIN_TYPE.relogin
        })
        // 返回true 中断后面处理
        return true;
    }
});

export default request;